﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Web;
using DHQGHN.DAL;
using DHQGHN.DAL.Models.DanhMuc;

namespace DHQGHN.Services.DanhMuc
{
    /// <summary>
    /// VUONGBD
    /// 2015-06-01
    /// Su dung download cac danh muc dung chung
    /// </summary>
    

    [ServiceContract]
    public interface IDownloadCatalogService
    {
        #region Method of EDUCATION_TRAINING
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "EducationTraining/GetAll"
            )]
        JSONMessageEducationTraining EducationTrainingGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "EducationTraining/GetByID/{educationTrainingID}"
            )]
        JSONMessageEducationTraining EducationTrainingGetByID(string educationTrainingID);  
        #endregion

        #region Method of MARITAL_STATUS
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "MaritalStatus/GetAll"
            )]
        JSONMessageMaritalStatus MaritalStatusGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "MaritalStatus/GetByID/{maritalStatusID}"
            )]
        JSONMessageMaritalStatus MaritalStatusGetByID(string maritalStatusID);
        #endregion

        #region Method of EDUCATION_LEVEL
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "EducationLevel/GetAll"
            )]
        JSONMessageEducationLevel EducationLevelGetAll();
       
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "EducationLevel/GetByID/{ID}"
            )]
        JSONMessageEducationLevel EducationLevelGetByID(string ID);
        #endregion

        #region Method of TECHNICAL_LEVEL
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "TechnicalLevel/GetAll"
            )]
        JSONMessageTechnicalLevel TechnicalLevelGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "TechnicalLevel/GetByID/{technicalLevelID}"
            )]
        JSONMessageTechnicalLevel TechnicalLevelGetByID(string technicalLevelID);
        #endregion

        #region Method of BLOOD_GROUP
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "BloodGroup/GetAll"
            )]
        JSONMessageBloodGroup BloodGroupGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "BloodGroup/GetByID/{bloodGroupID}"
            )]
        JSONMessageBloodGroup BloodGroupGetByID(string bloodGroupID);
        #endregion

        #region Method of SERIOUS_DISEASES
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "SeriousDiseases/GetAll"
            )]
        JSONMessageSeriousDiseases SeriousDiseasesGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "SeriousDiseases/GetByID/{seriousDiseasesID}"
            )]
        JSONMessageSeriousDiseases SeriousDiseasesGetByID(string seriousDiseasesID);
        #endregion

        #region Method of DISABILITY_STATUS
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "DisabilityStatus/GetAll"
            )]
        JSONMessageDisabilityStatus DisabilityStatusGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "DisabilityStatus/GetByID/{disabilityStatusID}"
            )]
        JSONMessageDisabilityStatus DisabilityStatusGetByID(string disabilityStatusID);
        #endregion

        #region Method of INSURANCE_STATUS
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "InsuranceStatus/GetAll"
            )]
        JSONMessageInsuranceStatus InsuranceStatusGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "InsuranceStatus/GetByID/{insuranceStatusID}"
            )]
        JSONMessageInsuranceStatus InsuranceStatusGetByID(string insuranceStatusID);
        #endregion

        #region Method of COURT
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "Court/GetAll"
            )]
        JSONMessageCourt CourtGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "Court/GetByID/{courtID}"
            )]
        JSONMessageCourt CourtGetByID(string courtID);
        #endregion

        #region Method of DEATH_CAUSE
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "DeathCause/GetAll"
            )]
        JSONMessageDeathCause DeathCauseGetAll();

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare,
            UriTemplate = "DeathCause/GetByID/{deathCauseID}"
            )]
        JSONMessageDeathCause DeathCauseGetByID(string deathCauseID);
        #endregion
    }
}